Release Notes
The notes below provide descriptions of the new features and changes introduced with each release of Eggplant DAI. You are strongly encouraged to read about the relevant changes whenever you upgrade from an earlier version.
Potential compatibility issues are highlighted.
To the extent you are entitled to a copy of the source code for the open source software distributed with this product, a free copy will be provided. Please contact us with your request.
System Requirements
You can find supported operating systems and system recommendations on the Prerequisites page.
Before you upgrade, make sure that you stop all your DAI servers and services, and then take a backup of your database folders (data
and minio
) and configuration file (config.yml
) before you start your installation. If there is a problem with your upgrade, you will need to restore to this point. If you have any questions or would like help testing your database before you upgrade, please contact your Technical Success Manager or our Customer Support.
- Eggplant DAI 7.4 is the latest major release.
- You must upgrade to Eggplant DAI 7.3 before you start your 7.4 upgrade.
- The upgrade may take 10-20 minutes to complete.
- Eggplant DAI 7.4 is only compatible with Eggplant Functional 23.4.x. When upgrading to Eggplant DAI 7.4, you must also update your version of Eggplant Functional.
Release 7.4 (August 2024)
This version of DAI includes the following enhancements, defect fixes, and CVE fixes:
Retry Test Configuration Runs
DAI can now retry any test configurations that would have ended with an error in previous versions due to the unavailability of required resources, such as a SUT or execution environment. Now, at the start of test configuration run, DAI can check the availability of the resources required. If they are locked, the execution status will be set to Pending
and the test configuration console log will report the resource constraint that is blocking the execution. Retries can occur at a regular interval, and for a period of time, specified by the DAI System Administrator in the server configuration. This enhancement enables you to fully benefit from step-level retesting and stop-on-failure without concern about scheduling clashes, and license or resource contention. See Retry Settings for SUT and Execution Environment Connections for information about these configuration options.
Enhanced Test Case Parameterization (Model-based)
You can now override existing model parameter values at the test case level by setting a custom value against any of the available parameters at the step level of the test case. Live Run now also supports the setting of the parameter values at runtime, so you can confirm the effect of applying specific values interactively. See the Set Parameters on the Live Run page for more information. In addition, the same parameter values can also be overridden at the test configuration level for tests executed by the Runner. With this new capability, you can avoid the need to duplicate test cases and test configurations to drive different application behavior thereby reducing your maintenance overhead. You can now consolidate to using a single set of test assets and drive the desired behavior by modifying with different parameter values as required. See Configure Custom Parameters for Steps Added.
The parameterization enhancement in DAI 7.4 is for model-based testing. Parameterization for script-based test cases has been available since DAI 7.2, but will be expanded for script-based test configurations in the next release, 7.5 . DAI 7.5 will also provide full CI/CD integration for both modes via the Eggplant Runner/Azure DevOps/GitHub/Jenkins integrations. These future enhancements will be beneficial in a number of scenarios such as dynamic environment or SUT allocation for a test run.
Windows Single System Connection Type Support (Development/Live Run)
You can now leverage the Eggplant Functional Single System connection type for Windows desktops in DAI. DAI support for this connection type is primarily designed to simplify the test asset development process through Live Run. The Single System connection type is available for both model- and script-based executions. When triggering a Live Run, you will need to select a pre-configured, ‘local’ Single System SUT connected to your ‘local’ Execution Environment. See Adding SUT Connections and Step by Step: Entering Single System Connection Details for more information about the Single System SUT connection type.
Live Run, which uses the DAI Design Agent, requires users to select a pre-configured DAI SUT that corresponds to the same host as the selected Execution Environment in order to gain access, i.e. both the Execution Environment and SUT are on the same host and linked in the SUT configuration.
Due to technical implementation constraints, when running a Test Config and therefore using a DAI Run Agent to execute using a Single System connection, the agent cannot be launched as a Windows service. It instead must be run from a command-line within an active desktop session.
Public API – Test Results Only
DAI 7.4 includes its first formal, publicly available API. This first public API provides access to test results for integration purposes only. You can use it to extract a list of test results, individual test logs, and screenshots. See Public API Overview for more information.
Test Result IDs Reported via the Eggplant Runner
The Eggplant Runner now includes links to individual results within the console log output, so you do not need to parse the result.xml file for third-party integrations. For example, you can now see result links similar to the following examples in your output:
2024-05-14 18:59:13,318 INFO Test configuration run completed with status SUCCESS
2024-05-14 18:59:13,318 INFO Test configuration ed6c3bc4-41a4-4cfa-abd2-e8a789f0d5d9 exited with status SUCCESS
2024-05-14 18:59:13,319 INFO Results: http://localhost:8000/controller/results/runs/b8e99c6d-1424-488d-8aed-539a84f4938a
2024-05-14 18:59:13,409 INFO Total test runs: 5
2024-05-14 18:59:13,410 INFO Test run 75: http://localhost:8000/controller/results/75
2024-05-14 18:59:13,410 INFO Test run 76: http://localhost:8000/controller/results/76
2024-05-14 18:59:13,410 INFO Test run 77: http://localhost:8000/controller/results/77
2024-05-14 18:59:13,411 INFO Test run 78: http://localhost:8000/controller/results/78
2024-05-14 18:59:13,411 INFO Test run 79: http://localhost:8000/controller/results/79
Encryption of RabbitMQ Traffic
DAI now provides an option to encrypt communication with its embedded message broker (RabbitMQ Server) when you enable HTTPS on your DAI server. Specifically, you can configure DAI to use Transport Layer Security (TLS) for all RabbitMQ communications. By default, RabbitMQ will continue to use unencrypted communications. To configure RabbitMQ to use a certificate to encrypt all traffic, you will need to modify the DAI configuration file (config.yml
) with new settings. See Encrypt RabbitMQ Communications for information about how to use these settings.
External Communication Protocol Security Hardening
This release includes configuration updates to nginx and Python to enable HTTPS security headers adn the addition of a whitelist of trusted domains for cross-origin resource sharing (CORS). Strict-Transport-Security, Content-Security-Policy and X-Content-Type-Options are all set by default on HTTPS configured instances with appropriate values.
Silent (Unattended) Install for Windows
DAI now supports the option to perform "silent", unattended installations, upgrades, and uninstalls at the command line. We use the term "silent" to describe the process of installing (or upgrading or uninstalling) without the input of a user through a graphical user interface (GUI). Instead, you can specify the configuration settings you want your DAI Server to run with in a new silent.ini file that the DAI installation program will read when it runs. You can use this silent option if you are automating the installation of DAI or if you only have command line access to a machine. See Silent Install, Upgrade, and Uninstall of Eggplant DAI on Windows for more information.
Defect Fixes
-
Fixed an issue where, in some circumstances, large models with a long change history could delay the start of test runs (CRD-1626).
-
Fixed an issue where passthrough parameter values were overwritten in the sub-model. The parameter value is now passed between the main model and sub-model without being regenerated, which preserves the value.
ノートYou should be aware that this change may affect existing model execution.
-
Fixed an issue where, in some circumstances, models with a large number of test cases experienced a delay when loading the list of test cases in a test configuration (CRD-1630).
-
Fixed an issue where test cases with a global action added to a state that had a state parameter defined were inappropriately reported as an 'Individual test case' and could not be executed. This is now allowed (CRD-1620).
-
Fixed an issue where attempts to upload a test suite with a name longer than 50 characters failed with a
Failed to deserialize exception
. Suite names containing more than 50 characters can now be uploaded to DAI successfully (CRD-1631). -
Fixed an issue where the Design Agent failed to upload suites to the Versioned Asset Manager on the DAI Server where filenames in the suite contained Unicode characters (CRD-1639).
CVE Fixes
DAI 7.4 remediates the following vulnerabilities, which are listed by whether they occurred in the DAI frontend or backend.
-
Upgrade of Jinja to 3.1.4 to remediate: CVE-2024-34064
-
Upgrade of Werkzeug to 3.0.3 to remediate: CVE-2024-34069
-
Upgrade of Keycloak to 25.0.1 to remediate against a number of Black Duck advisories
-
Upgrade of Nginix to 1.26.1 to remediate against a number of Black Duck advisories
-
Upgrade of mingit to 2.45.2
-
Upgrade of RabbitMQ to 3.13.3
-
OpenJDK upgrade to v21 (Keycloak)
-
PostgreSQL upgrade to 14.12-1
-
Minio upgrade to RELEASE.2024-06-06T09-36-42
Release 7.3 (May 2024)
This version of DAI includes the following enhancements and defect fixes:
Ability to Stop a Test Configuration on a Failed Step
You can now configure DAI to stop a test configuration (test config) run when a test step fails, rather than continuing to run the remaining steps. See Step 3: Configure Advanced settings for the Test Configuration for information about how to disable the Continue running test config on step failure option.
Automatic Scheduled Deletion of Test Results, Logs, and Screenshots
You can now configure DAI to automatically delete your test results, logs, and screenshots ("test artifacts") on a scheduled basis. See Enabling Scheduled Test Artifact Deletion for information about how to schedule the deletion of your test results.
Ability to Select Multiple Test Cases to Add to a Test Config or Scripted Test Case
For test configs, you can now search for test cases, select multiple test cases, or add all the test cases at once to your test config. See Step 2: Configure the Steps/Actions for the Test Configuration for information about adding multiple test cases. You can also remove all test cases at once from a test config.
Similarly, for script-based test cases, you can now search for test steps to add, or add or remove all test steps at once from your script-based test case.
Ability to Hide Sub-models in Test Results
To improve clarity and reduce potential confusion caused by duplicate result entries, DAI now provides the option to hide test results of sub-models.
Ability to show only Live Run or Test Config results in Test Results
To improve clarity, you can now filter your test results by either Live Run or Test Config.
Masks Secrets from DAI Logs
To adhere to security best practices, some information passed between DAI components is now hidden from inadvertent exposure in plain-text logs.
Defect Fixes
- Fixed an issue in that occurred when you were connected to a Design Agent and editing snippets in the Designer where a vertical line displayed in the center of the snippet editor.
- Fixed an
Internal Server Error
that occurred when you deleted a test config that was created with a model and a tag. - Fixed an internal server error
500 Composite request failed
where DAI did not display the test case list for a model with an empty sub-model ID. - Fixed an issue where the DAI service failed to start on Windows because you specified a custom path for the PostgresSQL database directory during the DAI Windows installation.
- Fixed an issue where DAI used the default directory location for the PostgresSQL database even when you specified a custom location during DAI installation.
- Fixed an issue where DAI inconsistently validated test config and test case names.
- Fixed a
502/503 Error saving model
error that occurred when you created or edited a model. - Fixed a issue where DAI failed to get test execution details with
Error
status. - Fixed an issue where the test cases name filter on the Test Results page in the DAI Controller did not show multiple test cases with the same name.
- Fixed an issue where exploratory testing was only testing one specific path repeatedly. Note: This change subtly affects the behavior of the DAI AI Engine. As a result, you may experience generated tests following different paths than they did with previous releases.
- Fixed an issue where DAI removed the seed from the last logged line in the test case result logs.
- Fixed an issue where DAI failed to change a date range after you selected it with a calendar selection from filtering.
- Fixed an issue where the drop-down list for User Journeys was cropped in the Designer.
- Fixed an issue where you could not filter the Run status on the Test Results page in the DAI Controller by typing the option you wanted when the menu was open and pressing enter.
- Fixed an issue where non-Roman alphabets were not displaying correctly in models.
- Fixed an issue where multi-line comments did not display properly in snippets.
- Fixed an issue where the Actions menus (the three dots icon) in tables jumped when you clicked them.
- Fixed an issue where green-colored text was hard to read.
- Fixed an issue with Dark Mode in Test Config notifications.
- Fixed an issue where the Model drop-down list displayed incorrectly on low resolution screens.
- Fixed an issue where the DAI Windows installer Keycloak version was different than the Keycloak tag.
- Fixed an issue where the DAI Design Agent on CentOS failed to download a suite from a Garden environment.
- Fixed an issue where the DAI System > Agent Tools page partially displayed the drop-down list and the list was not scrollable.
- Fixed an issue where the DAI Run Agent failed to run as a Windows service.
- Fixed minor user interface (UI) issues on the System > Access > Manage Users page and System > My Account > Account Settings page.
- Fixed an issue where the Edit button on the SUT detail page displayed misaligned on Mac Safari browsers.
- Fixed an issue where the Insights Bug Hunting chart hover did not show the correct label.
- Fixed an issue so that the Date Range drop-down list on the Test Case Dashboard now saves the selections when you press the
Space
key. - Fixed an issue where the results on the Controller > Runner page did not resize well on smaller screens.
- Fixed an issue where the specified execution environments on the New or Edit SUT page were ignored when using a cloud-based execution environment.
- Fixed an issue in the test case detail page where a test case name did not fit within the page heading. Note that the test case detail page is the page you see when you choose View from the Actions menu for your test case on the Designer Test Cases page.
- Changed the default log level of a DAI Run Agent and EPF to a less detailed level.
- Fixed a sort issue where a step in a test case appeared in an inappropriate order after you modified and saved it.
DAI 7.3 CVE Fixes
DAI 7.3 remediates the following vulnerabilities, which are listed by whether they occurred in the DAI frontend or backend.
Frontend
- Upgrade of axios to 1.6.8 to remediate CVE-2023-45857
- Upgrade of react-refresh to 0.14.0 to remediate BDSA-2015-0687
- Upgrade of nth-check to 2.0.1 to remediate CVE-2021-3803
- Upgrade of dojo to 1.17.3 to remediate CVE-2021-23450, CVE-2018-15494, CVE-2021-23450, CVE-2020-5259, BDSA-2020-0277, CVE-2020-5258,CVE-2018-1000665
Backend
- Upgrade of google-guava to 32.0.1 to remediate CVE-2023-2976, CVE-2020-8908
- Exclude snakeyaml from black duck scanning to remediate CVE-2022-1471
- Exclude ecdsa to remediate CVE-2024-23342, GHSA-wj6h-64fc-37mp
- Upgrade of pyca/cryptography to 42.0.4 to remediate CVE-2024-0727, CVE-2024-26130, CVE-2023-38325, CVE-2023-49083, CVE-2023-50782
- Vulnerability in pycryptodome: CVE-2023-52323, GHSA-j225-cvw7-qrx7
- Vulnerability in jinja2: CVE-2024-22195, GHSA-h5c8-rqwp-cp95
- Vulnerability in starlette-0.27.0: GHSA-93gm-qmq6-w238
- Vulnerability in fastapi-0.104.1: CVE-2024-24762, GHSA-qf9m-vfgh-m389
- Vulnerability in aiohttp-3.9.1: CVE-2024-23334, CVE-2024-23829, GHSA-8qpw-xqxj-h4r2, GHSA-5h86-8mv2-jq9f
Release 7.2 (February 2024)
This version of DAI includes the following enhancements and bug fixes:
Significant changes to the Test Results page
Filtering on Test Results page
- Test results have new filtering options. You can now filter results on the Test Results page by Test case, Test configuration, Test configuration tag, Execution environment, and SUT. These options are in addition to the previous filter options: ID, Model, Suite, Status, and State. The SUT column is a new addition to the test results page. These enhancements will provide even more granularity to your test result analysis.
Sorting on the Test Results page
- You can now sort test results by Execution environment and SUT.
Exporting test results
- You can now export test results as CSV (comma-separated value) files from the Test Results page. In addition, you can export results based on the filters that you apply on the Test Results page. This will enable you to export test results based on your specific needs.
Rename of columns on Test Result page
-
The column name Test config/Live run replaces Run mode.
-
The column name Test case/Exploratory run replaces Type.
Merge of Columns
- The columns Status & ID are now combined on the Test Results page. However, you can still search on both the run status and test results ID.
Passing multiple parameters from EPF to DAI in Models
You can now use multiple output parameters (excluding Lists and Property Lists) to capture and pass data generated from Snippet runs into Actions in your models. This enhancement removes the need to use global parameters, passing parameters as strings and parsing them, or storing parameters in files.
Support for Schedule Test Runs with Cron Syntax
You can now schedule test configurations to run in DAI using Cron syntax. You can find more information cron syntax here.
Support of Tunneling with Sauce Labs Connections
DAI now supports Sauce Labs tunnel for both Sauce Labs device and browser and browser connections. This will enable you to access your private Sauce Labs resources.
DAI Run Agent
You can now install the DAI Run Agent as a Microsoft Windows service. This allows the Run Agent to continue running even when users log off the machine.
The DAI Run Agent now supports MacOS Sonoma.
New Eggplant AI Bug Hunter optimised for large datasets
This new AI Bug Hunter reduces memory consumption enabling it to process large volumes of test results through a configuration change on the DAI server.
UI/UX Improvements
Test Configuration Set Up Flow
The test configuration set up process is ehanched with new tabs to make it easier for you to create test configurations.
Documentation Enhancements
- You can now choose the to see older versions of the DAI documentation, in addition to the current version using a version selector at the top of the documentation pages. The current version is active by default.
- Japanese version of the documentation is now available.
Bug Fixes
- Fixed an issue where some DAI components did not reliably stop when the DAI Windows Service was stopped thereby causing some instability upon restart and upgrades to fail.
- Fixed an issue where it was not possible to disable the RESTART_EPF_AFTER_SECONDS parameter by setting it to zero.
- Fixed an issue where the DAI installation sent an email with incorrect information.
- Fixed an issue where scheduled test runs started at the wrong time after daylight savings.
- Fixed an issue where the nginx logs grew to an unsuitable size by logging errors only.
- Fixed an issue where SUTs and execution environments were not unlocked when DAI restarted.
- Fixed an issue where the DAI license page showed incorrect information.
- Fixed an issue to allow a script name to contain a plus (+) character.
Security Fixes
- Upgrade of Keycloak to remediate: CVE-2023-6134, CVE-2022-4361, CVE-2023-0105, CVE-2023-2422, CVE-2023-258
- Upgrade of Python to remediate: CVE-2023-4863, CVE-2023-40217
- Upgrade of PostgreSQL Database Server to remediate: CVE-2023-5868, CVE-2023-5870, CVE-2023-5869
- Upgrade of Nginx to remediate: CVE-2023-44487
- Upgrade of webpack/loader-utils to remediate: CVE-2022-37603, CVE-2022-37599, CVE-2022-37601, CVE-2023-28154
Release 7.1 (October 2023)
This version of DAI includes the following enhancements and bug fixes:
RESTART_EPF_AFTER_SECONDS Environment Variable
As a measure to improve stability, DAI now provides an environment variable you can set for test configuration runs to specify the amount of time Eggplant Functional (EPF) runs before restarting. This variable takes effect after the current step is finished and before moving to the next. The default value is 30 minutes. This variable setting only applies to runs with the DAI Run Agent. During live runs, EPF continuously runs without restarting. See Eggplant Functional Stop and Restart Settings for Test Configuration Runs for details.
Test Case Dashboard
DAI now provides a dashboard that aggregates the results of all your test cases. You can filter the data you see by date range, models, or suites. This aggregation capability will help you understand the current state as well as the evolution of your testing effort in a single view.
Automatic Retry for Failed Tests
DAI now provides the option to automatically rerun failed and errored test steps as these occur to ensure your tests complete successfully within the allocated testing timeframe. This new feature includes the options to rerun test steps within your test configuration, specify the number of times you want failed or errored tests to rerun, and the interval between reruns.
“Viewer” (Read-Only) User Role
DAI now provides a read-only user role. This role is for users, such as managers, who need access to view test results in DAI, but do not need to create or update test artifacts.
Single Sign-On (SSO) Capability
DAI now supports SSO capability for Eggplant users whose companies use Microsoft Entra ID (formerly "Azure" Active Directory) configured over the OpenID Connect (OIDC) or Security Assertion Markup Language (SAML) protocols to control user access in a unified way. DAI also now provides SSO capability for SAML with ADFS. This is in addition to the existing support for ADFS with OIDC. If you’re interested in learning more, please reach out to your Account Manager who can assist.
Bug Fixes
- Fixed an issue where a support request appears each time EPF auto restarts when the Run Agent with GUI setting is set to TRUE
- Fixed an issue in Designer->Test Cases Console where first twenty test cases are skipped
- Fixed an issue in the Controller and SUT Execution Environment where the user-entered value is not displayed
- Fixed an issue in Controller-> SUTs where Name and Description appear in add new connection slider in minimize mode
- Fixed an issue in Controller-> SUTs where fields remain unfocused after clicked label text
- Fixed an issue in Controller-> Result where the Search field loses focus when typing
- Fixed issues with filter test case with special characters
- Fixed issues with Model import clickable area outside of button area ‘Choose file’
- Fixed issues in System Git Connections: 'Choose branch or tag' section is out of the card (with scroll bar)
- Fixed issues in Run Agent: EPF log level is different from run agent parameter set
- Fixed issues in Test Case Builder where fields are not full width when disabled in Parameters tab
- Fixed issues in Test Case Details where Tooltip is not next to the label when scrolling.
- Fixed issue EPF Memory leaks requiring frequent Agent restarts (CRD-1424)
- Fixed issue of Python.exe in the PgAdmin 4 folder in DAI is still version v3.10 instead of v3.11 (CRD-1471)
- Fixed issue adding "/" to Version in agent causes Fail to upload suite Error (CRD-1483)
- Fixed issue unable to import a model in DAI that is more than 2 MB in size (CRD-1481)
- Fixed issue unable to assign a value to a 'Record' type global parameter in a test case (CRD-1449)
Security updates
- Upgraded Python to remediate: CVE-2023-24329, CVE-2023-36632
- Upgraded MinIO to remediate: CVE-2023-28434, BDSA-2020-2649, BDSA-2021-0784
- Upgraded PostgreSQL to remediate: CVE-2023-39417, CVE-2023-2454, CVE-2023-2455
Release 7.0.1-1 (August 2023)
This version of DAI includes the following enhancements and bug fixes:
Keycloak Security Update 21.1.2 – DAI now includes Keycloak version 21.1.2, which resolves a cross-scripting (XSS) security vulnerability.
Library Upgrades for Improved Security – DAI received python and cryptography library upgrades for improved security.
Support for Reruns of the DAI 7.0 Upgrade – DAI now gracefully handles a rerun of the 7.0 upgrade. This fix resolves an issue where the DAI Server would not start or allow user logins after the upgrade.
MinIO Migration Timeout Increased - The timeout for a MinIO migration is now 3 hours. Previously, the migration timeout was 1 hour.
Release 7.0 (July 2023)
MinIO deployment upgrade
An upgrade has been made to the latest stable release of MinIO. Upgrading an existing installation of DAI 6.5 to DAI 7.0 will bring about a migration of MinIO assets(mainly suites and screenshots) which may take up to an hour.
Agent redesigned
The agent has been redesigned into separate dedicated agents for design and run. There are two types of agents, namely DAI Design Agent for uploading suites to DAI and executing tests in the designer, and DAI Run Agent for executing test configuration runs. Both agents are required.
[Windows Only] From version 7.0.0-0 onwards, if you have an older agent installed i.e. eggplantAIagent
, it will be removed during the installation of either the newer DAI Design Agent or the newer DAI Run Agent.
Execution Environment List
On the SUTs page, you no longer need to type the Execution Environment name that will be used by a SUT. You can now pick your Execution Environment from a list of Execution Environments that can also be filtered. You may also leave the Execution Environment field blank except for connections to Android and iOS devices.
SUT connection configuration
Made it easier for you to avoid misconfiguring your connections. If RDP or VNC are the primary connections, then only Webdriver will be available as secondary connection and vice versa. There can only be one connection if Citrix, Sauce Labs Browser, Sauce Labs Browser, Android Device or iOS Device is selected.
Email notification by test result type
Choose to receive email notification based on the type of test result; Pass, Fail, Error, Cancelled. By default all options are selected on creation of a test configuration.